react-bfm
Version:
A basic field / form manager for React using hooks
28 lines (27 loc) • 1.53 kB
JavaScript
;
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault")["default"];
exports.__esModule = true;
exports.resetField = exports.clearField = void 0;
var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
var _helpers = require("../helpers");
var _state = require("../state");
var _stateDefaults = require("../constants/state-defaults");
var _fieldDefaults = require("../constants/field-defaults");
var _fieldKeys = require("../constants/field-keys");
/**
* Reset field, but ignoring initial value
*/
var clearField = exports.clearField = function clearField(namespace, fieldName) {
(0, _state.updateFieldStateWithCallback)(namespace, fieldName, function () {
return (0, _extends2["default"])({}, _stateDefaults.FIELD_STATE_DEFAULT, (0, _helpers.mapFieldValueAndError)(_fieldDefaults.FIELD_DEFAULT_VALUE, _fieldDefaults.FIELD_DEFAULT_ERROR));
});
};
/**
* Reset field to default state and setting last provided initial value
*/
var resetField = exports.resetField = function resetField(namespace, fieldName) {
(0, _state.updateFieldStateWithCallback)(namespace, fieldName, function (currentState) {
var _currentState$FIELD_K;
return (0, _extends2["default"])({}, _stateDefaults.FIELD_STATE_DEFAULT, (0, _helpers.mapFieldValueAndError)((_currentState$FIELD_K = currentState[_fieldKeys.FIELD_KEY_INITIAL_VALUE]) != null ? _currentState$FIELD_K : _fieldDefaults.FIELD_DEFAULT_VALUE, currentState[_fieldKeys.FIELD_KEY_INITIAL_VALUE_ERROR]));
});
};