@insticc/genericform 2.1.6 → 2.1.7

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.
Files changed (2) hide show
  1. package/build/index.js +11 -7
  2. package/package.json +1 -1
package/build/index.js CHANGED
@@ -157,14 +157,19 @@ function _arrayLikeToArray(r, a) { (null == a || a > r.length) && (a = r.length)
157
157
  function _iterableToArrayLimit(r, l) { var t = null == r ? null : "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (null != t) { var e, n, i, u, a = [], f = !0, o = !1; try { if (i = (t = t.call(r)).next, 0 === l) { if (Object(t) !== t) return; f = !1; } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0); } catch (r) { o = !0, n = r; } finally { try { if (!f && null != t["return"] && (u = t["return"](), Object(u) !== u)) return; } finally { if (o) throw n; } } return a; } }
158
158
  function _arrayWithHoles(r) { if (Array.isArray(r)) return r; } // #region FormFields
159
159
  require('react-datetime/css/react-datetime.css');
160
- var EMPTY_OBJECT = {};
161
160
  var shallowEqual = function shallowEqual(a, b) {
162
161
  if (a === b) return true;
163
- var aKeys = Object.keys(a),
164
- bKeys = Object.keys(b);
162
+ var aKeys = Object.keys(a).filter(function (k) {
163
+ return a[k] !== undefined;
164
+ });
165
+ var bKeys = Object.keys(b).filter(function (k) {
166
+ return b[k] !== undefined;
167
+ });
165
168
  if (aKeys.length !== bKeys.length) return false;
166
169
  return aKeys.every(function (key) {
167
170
  return a[key] === b[key];
171
+ }) && bKeys.every(function (key) {
172
+ return a[key] === b[key];
168
173
  });
169
174
  };
170
175
 
@@ -277,7 +282,7 @@ var GenericForm = function GenericForm(_ref) {
277
282
  isSubmitting = _ref$isSubmitting === void 0 ? false : _ref$isSubmitting,
278
283
  handleErrors = _ref.handleErrors,
279
284
  _ref$overrideErrors = _ref.overrideErrors,
280
- overrideErrors = _ref$overrideErrors === void 0 ? EMPTY_OBJECT : _ref$overrideErrors;
285
+ overrideErrors = _ref$overrideErrors === void 0 ? null : _ref$overrideErrors;
281
286
  var _useState = (0, _react.useState)([]),
282
287
  _useState2 = _slicedToArray(_useState, 2),
283
288
  sortedFields = _useState2[0],
@@ -302,10 +307,9 @@ var GenericForm = function GenericForm(_ref) {
302
307
  (0, _react.useEffect)(function () {
303
308
  handleErrors && handleErrors(errors);
304
309
  }, [errors, handleErrors]);
305
- var overrideErrorsRef = (0, _react.useRef)(EMPTY_OBJECT);
306
310
  (0, _react.useEffect)(function () {
307
- if (shallowEqual(overrideErrorsRef.current, overrideErrors)) return;
308
- overrideErrorsRef.current = overrideErrors;
311
+ if (!overrideErrors) return;
312
+ if (shallowEqual(errors, overrideErrors)) return;
309
313
  setErrors(overrideErrors);
310
314
  }, [overrideErrors]);
311
315
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@insticc/genericform",
3
- "version": "2.1.6",
3
+ "version": "2.1.7",
4
4
  "description": "A generic form with a comprehensive set of field types, validation, and external state management",
5
5
  "main": "build/index.js",
6
6
  "scripts": {