@tsed/react-formio 1.13.3 → 1.13.6

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.
@@ -6417,3 +6417,28 @@ export declare const ReadOnly: {
6417
6417
  };
6418
6418
  };
6419
6419
  };
6420
+ export declare const OnChange: {
6421
+ (args: any): JSX.Element;
6422
+ args: {
6423
+ form: {
6424
+ type: string;
6425
+ display: string;
6426
+ tags: never[];
6427
+ components: {
6428
+ label: string;
6429
+ widget: {
6430
+ type: string;
6431
+ };
6432
+ errorLabel: string;
6433
+ key: string;
6434
+ inputType: string;
6435
+ type: string;
6436
+ id: string;
6437
+ defaultValue: string;
6438
+ validate: {
6439
+ required: boolean;
6440
+ };
6441
+ }[];
6442
+ };
6443
+ };
6444
+ };
@@ -1,8 +1,12 @@
1
1
  /// <reference types="react" />
2
- import { ExtendedComponentSchema, Form } from "formiojs";
2
+ import { ExtendedComponentSchema } from "formiojs";
3
3
  import { FormOptions, FormSchema, Submission } from "../../interfaces";
4
4
  export interface ChangedSubmission<T = any> extends Submission<T> {
5
- changed: any;
5
+ changed: {
6
+ component: ExtendedComponentSchema;
7
+ instance: any;
8
+ value: any;
9
+ } & Record<string, any>;
6
10
  isValid: boolean;
7
11
  }
8
12
  export interface FormPageChangeProps<Data = any> {
@@ -49,7 +53,7 @@ export interface UseFormHookProps<Data = any> extends Record<string, any> {
49
53
  onFocus?: Function;
50
54
  onBlur?: Function;
51
55
  onInitialized?: Function;
52
- onFormReady?: (formio: Form) => void;
56
+ onFormReady?: (formio: any) => void;
53
57
  }
54
58
  export declare function useForm<Data = any>(props: UseFormHookProps<Data>): {
55
59
  element: import("react").MutableRefObject<any>;
@@ -2,6 +2,7 @@ export * from "./actions-table/actionsTable.component";
2
2
  export * from "./alert/alert.component";
3
3
  export * from "./card/card.component";
4
4
  export * from "./form/form.component";
5
+ export * from "./form/useForm.hook";
5
6
  export * from "./form-access/formAccess.component";
6
7
  export * from "./form-action/formAction.component";
7
8
  export * from "./form-builder/formBuilder.component";
@@ -9,6 +10,7 @@ export * from "./form-control/formControl.component";
9
10
  export * from "./form-edit/formCtas.component";
10
11
  export * from "./form-edit/formEdit.component";
11
12
  export * from "./form-edit/formParameters.component";
13
+ export * from "./form-edit/useFormEdit.hook";
12
14
  export * from "./form-settings/formSettings.component";
13
15
  export * from "./forms-table/formsTable.component";
14
16
  export * from "./input-tags/inputTags.component";
package/dist/index.js CHANGED
@@ -9,7 +9,6 @@ var Choices = require('choices.js');
9
9
  var PropTypes = require('prop-types');
10
10
  var reactTable = require('react-table');
11
11
  var AllComponents = require('formiojs/components');
12
- var noop$1 = require('lodash');
13
12
  var cloneDeep = require('lodash/cloneDeep');
14
13
  var isEqual = require('lodash/isEqual');
15
14
  var FormioUtils = require('formiojs/utils');
@@ -18,6 +17,7 @@ var FormioFormBuilder = require('formiojs/FormBuilder');
18
17
  var Tooltip = require('tooltip.js');
19
18
  var uniq = require('lodash/uniq');
20
19
  var camelCase = require('lodash/camelCase');
20
+ var noop$1 = require('lodash');
21
21
  var ReactDOM = require('react-dom');
22
22
  var reduxUtils = require('@tsed/redux-utils');
23
23
  var get = require('lodash/get');
@@ -33,7 +33,6 @@ var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
33
33
  var Choices__default = /*#__PURE__*/_interopDefaultLegacy(Choices);
34
34
  var PropTypes__default = /*#__PURE__*/_interopDefaultLegacy(PropTypes);
35
35
  var AllComponents__default = /*#__PURE__*/_interopDefaultLegacy(AllComponents);
36
- var noop__default$1 = /*#__PURE__*/_interopDefaultLegacy(noop$1);
37
36
  var cloneDeep__default = /*#__PURE__*/_interopDefaultLegacy(cloneDeep);
38
37
  var isEqual__default = /*#__PURE__*/_interopDefaultLegacy(isEqual);
39
38
  var FormioUtils__default = /*#__PURE__*/_interopDefaultLegacy(FormioUtils);
@@ -42,6 +41,7 @@ var FormioFormBuilder__default = /*#__PURE__*/_interopDefaultLegacy(FormioFormBu
42
41
  var Tooltip__default = /*#__PURE__*/_interopDefaultLegacy(Tooltip);
43
42
  var uniq__default = /*#__PURE__*/_interopDefaultLegacy(uniq);
44
43
  var camelCase__default = /*#__PURE__*/_interopDefaultLegacy(camelCase);
44
+ var noop__default$1 = /*#__PURE__*/_interopDefaultLegacy(noop$1);
45
45
  var ReactDOM__default = /*#__PURE__*/_interopDefaultLegacy(ReactDOM);
46
46
  var get__default = /*#__PURE__*/_interopDefaultLegacy(get);
47
47
 
@@ -620,7 +620,7 @@ function DefaultOperationButton(props) {
620
620
  onClick: stopPropagationWrapper(function () {
621
621
  return onClick(action);
622
622
  })
623
- }, icon ? /*#__PURE__*/React__default['default'].createElement(Fragment, null, /*#__PURE__*/React__default['default'].createElement("i", {
623
+ }, icon ? /*#__PURE__*/React__default['default'].createElement(React__default['default'].Fragment, null, /*#__PURE__*/React__default['default'].createElement("i", {
624
624
  className: iconClass(undefined, icon)
625
625
  }), " ", title && " ") : null, title && /*#__PURE__*/React__default['default'].createElement("span", {
626
626
  className: icon && title ? "ml-1" : ""
@@ -1004,9 +1004,11 @@ function _catch(body, recover) {
1004
1004
  return result;
1005
1005
  }
1006
1006
 
1007
- function useDebounce(event, callback, events) {
1007
+ function useEvent(event, callback, events) {
1008
1008
  React.useEffect(function () {
1009
- callback && events.set(event, callLast(callback, 100));
1009
+ if (callback) {
1010
+ events.set(event, callback);
1011
+ }
1010
1012
  }, [callback, event, events]);
1011
1013
  }
1012
1014
 
@@ -1024,7 +1026,24 @@ function useEvents(funcs) {
1024
1026
  }
1025
1027
  };
1026
1028
 
1027
- useDebounce("onChange", funcs.onChange, events.current);
1029
+ useEvent("onBlur", funcs["onBlur"], events.current);
1030
+ useEvent("onPrevPage", funcs["onPrevPage"], events.current);
1031
+ useEvent("onNextPage", funcs["onNextPage"], events.current);
1032
+ useEvent("onCancel", funcs["onCancel"], events.current);
1033
+ useEvent("onChange", funcs["onChange"], events.current);
1034
+ useEvent("onCustomEvent", funcs["onCustomEvent"], events.current);
1035
+ useEvent("onComponentChange", funcs["onComponentChange"], events.current);
1036
+ useEvent("onSubmit", funcs["onSubmit"], events.current);
1037
+ useEvent("onAsyncSubmit", funcs["onAsyncSubmit"], events.current);
1038
+ useEvent("onSubmitDone", funcs["onSubmitDone"], events.current);
1039
+ useEvent("onFormLoad", funcs["onFormLoad"], events.current);
1040
+ useEvent("onError", funcs["onError"], events.current);
1041
+ useEvent("onRender", funcs["onRender"], events.current);
1042
+ useEvent("onAttach", funcs["onAttach"], events.current);
1043
+ useEvent("onBuild", funcs["onBuild"], events.current);
1044
+ useEvent("onFocus", funcs["onFocus"], events.current);
1045
+ useEvent("onBlur", funcs["onBlur"], events.current);
1046
+ useEvent("onInitialized", funcs["onInitialized"], events.current);
1028
1047
  return {
1029
1048
  events: events,
1030
1049
  emit: emit,
@@ -1093,10 +1112,8 @@ function useForm(props) {
1093
1112
  if (event.startsWith("formio.")) {
1094
1113
  var eventName = "on" + event.charAt(7).toUpperCase() + event.slice(8);
1095
1114
 
1096
- if (eventName === "onChange") {
1097
- if (isEqual__default['default'](noop$1.get(submission, "data"), args[0].data)) {
1098
- return;
1099
- }
1115
+ if (eventName === "onChange" && !args[0].changed) {
1116
+ return;
1100
1117
  }
1101
1118
 
1102
1119
  emit.apply(void 0, [eventName].concat(args, [instance.current]));
@@ -1119,6 +1136,10 @@ function useForm(props) {
1119
1136
  React.useEffect(function () {
1120
1137
  if (instance.current) {
1121
1138
  instance.current.ready.then(function (formio) {
1139
+ if (isEqual__default['default'](formio.submission.data, submission == null ? void 0 : submission.data)) {
1140
+ return;
1141
+ }
1142
+
1122
1143
  submission && (formio.submission = cloneDeep__default['default'](submission));
1123
1144
  });
1124
1145
  }
@@ -1504,7 +1525,7 @@ function NamedFormAccess(_ref2) {
1504
1525
  isValid = _useState2[0],
1505
1526
  setIsValid = _useState2[1];
1506
1527
 
1507
- return /*#__PURE__*/React__default['default'].createElement(Fragment, null, /*#__PURE__*/React__default['default'].createElement(Form, {
1528
+ return /*#__PURE__*/React__default['default'].createElement(React__default['default'].Fragment, null, /*#__PURE__*/React__default['default'].createElement(Form, {
1508
1529
  name: name,
1509
1530
  form: form[name],
1510
1531
  submission: submissions[name],
@@ -8116,7 +8137,7 @@ function DefaultCell(_ref) {
8116
8137
  } : _ref$render;
8117
8138
 
8118
8139
  if (value === undefined) {
8119
- return /*#__PURE__*/React__default['default'].createElement(Fragment, null);
8140
+ return /*#__PURE__*/React__default['default'].createElement("span", null);
8120
8141
  }
8121
8142
 
8122
8143
  var rendered = render(value);
@@ -8189,7 +8210,7 @@ function SliderColumnFilter(_ref) {
8189
8210
  min = _React$useMemo[0],
8190
8211
  max = _React$useMemo[1];
8191
8212
 
8192
- return /*#__PURE__*/React__default['default'].createElement(Fragment, null, /*#__PURE__*/React__default['default'].createElement("input", {
8213
+ return /*#__PURE__*/React__default['default'].createElement(React__default['default'].Fragment, null, /*#__PURE__*/React__default['default'].createElement("input", {
8193
8214
  type: "range",
8194
8215
  min: min,
8195
8216
  max: max,
@@ -9957,6 +9978,8 @@ exports.setUser = setUser;
9957
9978
  exports.submissionAccessUser = submissionAccessUser;
9958
9979
  exports.submissionReducer = submissionReducer;
9959
9980
  exports.submissionsReducer = submissionsReducer;
9981
+ exports.useForm = useForm;
9982
+ exports.useFormEdit = useFormEdit;
9960
9983
  exports.useModal = useModal;
9961
9984
  exports.useOperations = useOperations;
9962
9985
  exports.useTooltip = useTooltip;