@panneau/core 3.0.9 → 3.0.15

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/es/hooks.js CHANGED
@@ -164,6 +164,8 @@ var useForm = function useForm() {
164
164
  withoutPropagation = _opts$withoutPropagat === void 0 ? true : _opts$withoutPropagat,
165
165
  _opts$onComplete = opts.onComplete,
166
166
  onComplete = _opts$onComplete === void 0 ? null : _opts$onComplete,
167
+ _opts$onError = opts.onError,
168
+ onError = _opts$onError === void 0 ? null : _opts$onError,
167
169
  _opts$locales = opts.locales,
168
170
  locales = _opts$locales === void 0 ? [] : _opts$locales;
169
171
  var _useState = useState(initialValue || providedValue),
@@ -199,12 +201,26 @@ var useForm = function useForm() {
199
201
  var hasProvidedGeneralError = setProvidedGeneralError !== null;
200
202
  var generalError = hasProvidedGeneralError ? providedGeneralError : stateGeneralError;
201
203
  var setGeneralError = hasProvidedGeneralError ? setProvidedGeneralError : setStateGeneralError;
202
- var fieldsKey = [value, errors, locales].concat(fields);
204
+ var fieldsKey = [value, errors, requestState, locales].concat(fields);
203
205
  var onFieldChange = useCallback(function (fieldName, fieldValue) {
206
+ var _ref3 = requestState || {},
207
+ _ref3$loading = _ref3.loading,
208
+ loading = _ref3$loading === void 0 ? false : _ref3$loading,
209
+ _ref3$success = _ref3.success,
210
+ success = _ref3$success === void 0 ? false : _ref3$success,
211
+ _ref3$error = _ref3.error,
212
+ error = _ref3$error === void 0 ? false : _ref3$error;
204
213
  var fieldErrors = errors !== null ? errors[fieldName] || null : null;
205
214
  if (fieldErrors !== null) {
206
215
  setErrors(_objectSpread(_objectSpread({}, errors), {}, _defineProperty({}, fieldName, null)));
207
216
  }
217
+ if (!loading && (success !== false || error !== false)) {
218
+ setRequestState({
219
+ success: false,
220
+ loading: false,
221
+ error: false
222
+ });
223
+ }
208
224
  setValue(_objectSpread(_objectSpread({}, value), {}, _defineProperty({}, fieldName, fieldValue)));
209
225
  }, fieldsKey);
210
226
  var fieldsProps = useMemo(function () {
@@ -231,6 +247,9 @@ var useForm = function useForm() {
231
247
  } else {
232
248
  setGeneralError(error.message);
233
249
  }
250
+ if (onError !== null) {
251
+ onError(error);
252
+ }
234
253
  };
235
254
  var onSubmitSuccess = function onSubmitSuccess(resp) {
236
255
  setRequestState({
package/lib/hooks.js CHANGED
@@ -199,6 +199,8 @@ var useForm = function useForm() {
199
199
  withoutPropagation = _opts$withoutPropagat === void 0 ? true : _opts$withoutPropagat,
200
200
  _opts$onComplete = opts.onComplete,
201
201
  onComplete = _opts$onComplete === void 0 ? null : _opts$onComplete,
202
+ _opts$onError = opts.onError,
203
+ onError = _opts$onError === void 0 ? null : _opts$onError,
202
204
  _opts$locales = opts.locales,
203
205
  locales = _opts$locales === void 0 ? [] : _opts$locales;
204
206
  var _useState = react.useState(initialValue || providedValue),
@@ -234,12 +236,26 @@ var useForm = function useForm() {
234
236
  var hasProvidedGeneralError = setProvidedGeneralError !== null;
235
237
  var generalError = hasProvidedGeneralError ? providedGeneralError : stateGeneralError;
236
238
  var setGeneralError = hasProvidedGeneralError ? setProvidedGeneralError : setStateGeneralError;
237
- var fieldsKey = [value, errors, locales].concat(fields);
239
+ var fieldsKey = [value, errors, requestState, locales].concat(fields);
238
240
  var onFieldChange = react.useCallback(function (fieldName, fieldValue) {
241
+ var _ref3 = requestState || {},
242
+ _ref3$loading = _ref3.loading,
243
+ loading = _ref3$loading === void 0 ? false : _ref3$loading,
244
+ _ref3$success = _ref3.success,
245
+ success = _ref3$success === void 0 ? false : _ref3$success,
246
+ _ref3$error = _ref3.error,
247
+ error = _ref3$error === void 0 ? false : _ref3$error;
239
248
  var fieldErrors = errors !== null ? errors[fieldName] || null : null;
240
249
  if (fieldErrors !== null) {
241
250
  setErrors(_objectSpread__default["default"](_objectSpread__default["default"]({}, errors), {}, _defineProperty__default["default"]({}, fieldName, null)));
242
251
  }
252
+ if (!loading && (success !== false || error !== false)) {
253
+ setRequestState({
254
+ success: false,
255
+ loading: false,
256
+ error: false
257
+ });
258
+ }
243
259
  setValue(_objectSpread__default["default"](_objectSpread__default["default"]({}, value), {}, _defineProperty__default["default"]({}, fieldName, fieldValue)));
244
260
  }, fieldsKey);
245
261
  var fieldsProps = react.useMemo(function () {
@@ -266,6 +282,9 @@ var useForm = function useForm() {
266
282
  } else {
267
283
  setGeneralError(error.message);
268
284
  }
285
+ if (onError !== null) {
286
+ onError(error);
287
+ }
269
288
  };
270
289
  var onSubmitSuccess = function onSubmitSuccess(resp) {
271
290
  setRequestState({
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@panneau/core",
3
- "version": "3.0.9",
3
+ "version": "3.0.15",
4
4
  "description": "",
5
5
  "keywords": [
6
6
  "javascript"
@@ -114,5 +114,5 @@
114
114
  "publishConfig": {
115
115
  "access": "public"
116
116
  },
117
- "gitHead": "5725a31a8f873f1ae84c6df3ac712baf75be15b5"
117
+ "gitHead": "d744f42946c2862aa29e7ae6f3ca97a3d6b31f15"
118
118
  }