@insticc/genericform 2.1.4 → 2.1.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.
- package/build/index.js +20 -2
- package/package.json +1 -1
package/build/index.js
CHANGED
|
@@ -157,6 +157,16 @@ 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
|
+
var shallowEqual = function shallowEqual(a, b) {
|
|
162
|
+
if (a === b) return true;
|
|
163
|
+
var aKeys = Object.keys(a),
|
|
164
|
+
bKeys = Object.keys(b);
|
|
165
|
+
if (aKeys.length !== bKeys.length) return false;
|
|
166
|
+
return aKeys.every(function (key) {
|
|
167
|
+
return a[key] === b[key];
|
|
168
|
+
});
|
|
169
|
+
};
|
|
160
170
|
|
|
161
171
|
// #region Pure helpers
|
|
162
172
|
var sortFieldsFn = function sortFieldsFn(fields) {
|
|
@@ -265,7 +275,9 @@ var GenericForm = function GenericForm(_ref) {
|
|
|
265
275
|
disableFormTag = _ref$disableFormTag === void 0 ? false : _ref$disableFormTag,
|
|
266
276
|
_ref$isSubmitting = _ref.isSubmitting,
|
|
267
277
|
isSubmitting = _ref$isSubmitting === void 0 ? false : _ref$isSubmitting,
|
|
268
|
-
handleErrors = _ref.handleErrors
|
|
278
|
+
handleErrors = _ref.handleErrors,
|
|
279
|
+
_ref$overrideErrors = _ref.overrideErrors,
|
|
280
|
+
overrideErrors = _ref$overrideErrors === void 0 ? EMPTY_OBJECT : _ref$overrideErrors;
|
|
269
281
|
var _useState = (0, _react.useState)([]),
|
|
270
282
|
_useState2 = _slicedToArray(_useState, 2),
|
|
271
283
|
sortedFields = _useState2[0],
|
|
@@ -289,7 +301,13 @@ var GenericForm = function GenericForm(_ref) {
|
|
|
289
301
|
}, [isSubmitting]);
|
|
290
302
|
(0, _react.useEffect)(function () {
|
|
291
303
|
handleErrors && handleErrors(errors);
|
|
292
|
-
}, [errors]);
|
|
304
|
+
}, [errors, handleErrors]);
|
|
305
|
+
var overrideErrorsRef = (0, _react.useRef)(EMPTY_OBJECT);
|
|
306
|
+
(0, _react.useEffect)(function () {
|
|
307
|
+
if (shallowEqual(overrideErrorsRef.current, overrideErrors)) return;
|
|
308
|
+
overrideErrorsRef.current = overrideErrors;
|
|
309
|
+
setErrors(overrideErrors);
|
|
310
|
+
}, [overrideErrors]);
|
|
293
311
|
|
|
294
312
|
// ── Sync fields ─────────────────────────────────────────────────────────────
|
|
295
313
|
(0, _react.useEffect)(function () {
|
package/package.json
CHANGED