revdev-components 0.101.0 → 0.103.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,6 +1,7 @@
1
1
  import React from "react";
2
2
  import { FormInstance } from "antd/lib/form";
3
3
  import { FieldData } from "../interfaces";
4
+ type onValuesChangeType<T> = (changedValues: Partial<T>, values: T) => void;
4
5
  export interface FormOptions {
5
6
  valid: boolean;
6
7
  }
@@ -8,11 +9,12 @@ export interface AppFormProps<T = any> {
8
9
  children?: React.ReactNode | ((options: FormOptions) => React.ReactNode);
9
10
  className?: string;
10
11
  onFinish?: (values: T) => void;
11
- onValuesChange?: (changedValues: Partial<T>, values: T) => void;
12
+ onValuesChange?: onValuesChangeType<T>;
12
13
  onFieldsChange?: (changedFields: FieldData[], allFields: FieldData[]) => void;
13
14
  form?: FormInstance;
14
15
  onValid?: (valid: boolean) => void;
15
16
  initialValues?: Partial<T>;
16
17
  debug?: boolean;
17
18
  }
18
- export declare function AppForm<T = any>({ form: propForm, children, className, onFinish, onValuesChange, onFieldsChange, onValid, initialValues, debug, }: AppFormProps<T>): React.ReactElement<AppFormProps<T>>;
19
+ export declare function AppForm<T extends object = any>({ form: propForm, children, className, onFinish, onValuesChange, onFieldsChange, onValid, initialValues, debug, }: AppFormProps<T>): React.ReactElement<AppFormProps<T>>;
20
+ export {};
package/build/index.js CHANGED
@@ -4712,6 +4712,75 @@ var s$s = {"root":"index-module_root__gtTIa","action":"index-module_action__pOSd
4712
4712
 
4713
4713
  var CONSOLE_COLOR = "background:rgb(28, 46, 82); color:rgb(231, 231, 231)";
4714
4714
 
4715
+ // export function useDebounceCallback<T extends (...args: any[]) => any>(delay: number, callback: T, deps: DependencyList = []): DebouncedFunc<T> {
4716
+ // return useCallback(debounce(callback, delay), deps);
4717
+ // }
4718
+ var useDebounceEffect = function (delay, effect, deps) {
4719
+ if (deps === void 0) { deps = []; }
4720
+ React.useEffect(function () {
4721
+ var handler = setTimeout(function () { return effect(); }, delay);
4722
+ return function () { return clearTimeout(handler); };
4723
+ }, __spreadArray(__spreadArray([], (deps || []), true), [delay], false));
4724
+ };
4725
+
4726
+ function useAppFormRules() {
4727
+ return React.useMemo(function () {
4728
+ return {
4729
+ required: function (message) { return ({ required: true, message: message }); },
4730
+ email: function (message) { return ({ type: "email", message: message }); },
4731
+ onlyNumber: function (message) { return ({ pattern: /^(\d*[.])?\d+$/i, message: message }); },
4732
+ onlyPositiveInteger: function (message) { return ({ pattern: /^\d+$/i, message: message }); },
4733
+ onlyKey: function (message) { return ({ pattern: /^([a-z\d]*[-])*[a-z\d]+$/i, message: message }); },
4734
+ maxLength: function (message, length) { return ({ max: length, message: message }); },
4735
+ minLength: function (message, length) { return ({ min: length, message: message }); },
4736
+ length: function (message, length) { return ({ len: length, message: message }); },
4737
+ };
4738
+ }, []);
4739
+ }
4740
+
4741
+ function useFormValues() {
4742
+ var _a = React.useState({}), values = _a[0], setValues = _a[1];
4743
+ var handleChange = React.useCallback(function (_value, allValues) {
4744
+ setValues(allValues);
4745
+ }, []);
4746
+ return [values, handleChange];
4747
+ }
4748
+ function useFormValid() {
4749
+ var _a = React.useState(false), valid = _a[0], setValid = _a[1];
4750
+ var handleValid = React.useCallback(function (newValid) {
4751
+ setValid(newValid);
4752
+ }, []);
4753
+ return [valid, handleValid];
4754
+ }
4755
+
4756
+ function useDidMount() {
4757
+ var _a = React.useState(false), mount = _a[0], setMount = _a[1];
4758
+ React.useEffect(function () {
4759
+ setMount(true);
4760
+ }, []);
4761
+ return mount;
4762
+ }
4763
+ function usePrevious(value) {
4764
+ var ref = React.useRef();
4765
+ React.useEffect(function () {
4766
+ ref.current = value;
4767
+ }, [value]);
4768
+ return ref === null || ref === void 0 ? void 0 : ref.current;
4769
+ }
4770
+
4771
+ function useRouterQuery() {
4772
+ var query = router.useRouter().query;
4773
+ return query;
4774
+ }
4775
+
4776
+ function useSuccessMutation(response, successCallback) {
4777
+ React.useEffect(function () {
4778
+ if (response.isSuccess) {
4779
+ successCallback();
4780
+ }
4781
+ }, [response.isSuccess]);
4782
+ }
4783
+
4715
4784
  function useForm(form) {
4716
4785
  var newForm = antd.Form.useForm()[0];
4717
4786
  return form ? form : newForm;
@@ -4720,12 +4789,25 @@ function AppForm(_a) {
4720
4789
  var propForm = _a.form, children = _a.children, className = _a.className, onFinish = _a.onFinish, onValuesChange = _a.onValuesChange, onFieldsChange = _a.onFieldsChange, onValid = _a.onValid, initialValues = _a.initialValues, debug = _a.debug;
4721
4790
  var form = useForm(propForm);
4722
4791
  var _b = React.useState(false), valid = _b[0], setValid = _b[1];
4723
- var values = antd.Form.useWatch([], form);
4792
+ var _c = useFormValues(), values = _c[0], setValues = _c[1];
4724
4793
  React.useEffect(function () {
4794
+ if (debug) {
4795
+ console.info("%cform", CONSOLE_COLOR, "validation", "called");
4796
+ }
4725
4797
  form
4726
- .validateFields({ validateOnly: true })
4727
- .then(function () { return setValid(true); })
4728
- .catch(function () { return setValid(false); });
4798
+ .validateFields({ validateOnly: true, dirty: true })
4799
+ .then(function () {
4800
+ if (debug) {
4801
+ console.info("%cform", CONSOLE_COLOR, "validation", "valid");
4802
+ }
4803
+ setValid(true);
4804
+ })
4805
+ .catch(function () {
4806
+ if (debug) {
4807
+ console.info("%cform", CONSOLE_COLOR, "validation", "not valid");
4808
+ }
4809
+ setValid(false);
4810
+ });
4729
4811
  }, [form, values]);
4730
4812
  React.useEffect(function () {
4731
4813
  if (debug) {
@@ -4736,7 +4818,11 @@ function AppForm(_a) {
4736
4818
  React.useEffect(function () {
4737
4819
  console.info("%cform", CONSOLE_COLOR, "values", values);
4738
4820
  }, [values]);
4739
- return (React.createElement(antd.Form, { form: form, onFinish: onFinish, className: classNames(s$s.root, className), layout: "vertical", onValuesChange: onValuesChange, onFieldsChange: onFieldsChange, initialValues: initialValues }, typeof children === "function" ? children({ valid: valid }) : children));
4821
+ var handleValuesChange = React.useCallback(function (changedValues, values) {
4822
+ setValues(changedValues, values);
4823
+ onValuesChange === null || onValuesChange === void 0 ? void 0 : onValuesChange(changedValues, values);
4824
+ }, [setValues, onValuesChange]);
4825
+ return (React.createElement(antd.Form, { form: form, onFinish: onFinish, className: classNames(s$s.root, className), layout: "vertical", onValuesChange: handleValuesChange, onFieldsChange: onFieldsChange, initialValues: initialValues }, typeof children === "function" ? children({ valid: valid }) : children));
4740
4826
  }
4741
4827
 
4742
4828
  var s$r = {"root":"index-module_root__2S1Jp"};
@@ -4831,75 +4917,6 @@ var SwitchField = function (props) {
4831
4917
  React.createElement(SwitchFieldControl, __assign({}, controlProps))));
4832
4918
  };
4833
4919
 
4834
- // export function useDebounceCallback<T extends (...args: any[]) => any>(delay: number, callback: T, deps: DependencyList = []): DebouncedFunc<T> {
4835
- // return useCallback(debounce(callback, delay), deps);
4836
- // }
4837
- var useDebounceEffect = function (delay, effect, deps) {
4838
- if (deps === void 0) { deps = []; }
4839
- React.useEffect(function () {
4840
- var handler = setTimeout(function () { return effect(); }, delay);
4841
- return function () { return clearTimeout(handler); };
4842
- }, __spreadArray(__spreadArray([], (deps || []), true), [delay], false));
4843
- };
4844
-
4845
- function useAppFormRules() {
4846
- return React.useMemo(function () {
4847
- return {
4848
- required: function (message) { return ({ required: true, message: message }); },
4849
- email: function (message) { return ({ type: "email", message: message }); },
4850
- onlyNumber: function (message) { return ({ pattern: /^(\d*[.])?\d+$/i, message: message }); },
4851
- onlyPositiveInteger: function (message) { return ({ pattern: /^\d+$/i, message: message }); },
4852
- onlyKey: function (message) { return ({ pattern: /^([a-z\d]*[-])*[a-z\d]+$/i, message: message }); },
4853
- maxLength: function (message, length) { return ({ max: length, message: message }); },
4854
- minLength: function (message, length) { return ({ min: length, message: message }); },
4855
- length: function (message, length) { return ({ len: length, message: message }); },
4856
- };
4857
- }, []);
4858
- }
4859
-
4860
- function useFormValues() {
4861
- var _a = React.useState({}), values = _a[0], setValues = _a[1];
4862
- var handleChange = React.useCallback(function (_value, allValues) {
4863
- setValues(allValues);
4864
- }, []);
4865
- return [values, handleChange];
4866
- }
4867
- function useFormValid() {
4868
- var _a = React.useState(false), valid = _a[0], setValid = _a[1];
4869
- var handleValid = React.useCallback(function (newValid) {
4870
- setValid(newValid);
4871
- }, []);
4872
- return [valid, handleValid];
4873
- }
4874
-
4875
- function useDidMount() {
4876
- var _a = React.useState(false), mount = _a[0], setMount = _a[1];
4877
- React.useEffect(function () {
4878
- setMount(true);
4879
- }, []);
4880
- return mount;
4881
- }
4882
- function usePrevious(value) {
4883
- var ref = React.useRef();
4884
- React.useEffect(function () {
4885
- ref.current = value;
4886
- }, [value]);
4887
- return ref === null || ref === void 0 ? void 0 : ref.current;
4888
- }
4889
-
4890
- function useRouterQuery() {
4891
- var query = router.useRouter().query;
4892
- return query;
4893
- }
4894
-
4895
- function useSuccessMutation(response, successCallback) {
4896
- React.useEffect(function () {
4897
- if (response.isSuccess) {
4898
- successCallback();
4899
- }
4900
- }, [response.isSuccess]);
4901
- }
4902
-
4903
4920
  var s$n = {"root":"index-module_root__9GQDU"};
4904
4921
 
4905
4922
  var FormButton = function (_a) {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "revdev-components",
3
- "version": "0.101.0",
3
+ "version": "0.103.0",
4
4
  "main": "build/index.js",
5
5
  "module": "build/index.esm.js",
6
6
  "scripts": {