react-bfm
Version:
A basic field / form manager for React using hooks
23 lines • 1.23 kB
JavaScript
import _extends from "@babel/runtime/helpers/esm/extends";
import { mapFieldValueAndError } from '../helpers';
import { updateFieldStateWithCallback } from '../state';
import { FIELD_STATE_DEFAULT } from '../constants/state-defaults';
import { FIELD_DEFAULT_ERROR, FIELD_DEFAULT_VALUE } from '../constants/field-defaults';
import { FIELD_KEY_INITIAL_VALUE, FIELD_KEY_INITIAL_VALUE_ERROR } from '../constants/field-keys';
/**
* Reset field, but ignoring initial value
*/
export var clearField = function clearField(namespace, fieldName) {
updateFieldStateWithCallback(namespace, fieldName, function () {
return _extends({}, FIELD_STATE_DEFAULT, mapFieldValueAndError(FIELD_DEFAULT_VALUE, FIELD_DEFAULT_ERROR));
});
};
/**
* Reset field to default state and setting last provided initial value
*/
export var resetField = function resetField(namespace, fieldName) {
updateFieldStateWithCallback(namespace, fieldName, function (currentState) {
var _currentState$FIELD_K;
return _extends({}, FIELD_STATE_DEFAULT, mapFieldValueAndError((_currentState$FIELD_K = currentState[FIELD_KEY_INITIAL_VALUE]) != null ? _currentState$FIELD_K : FIELD_DEFAULT_VALUE, currentState[FIELD_KEY_INITIAL_VALUE_ERROR]));
});
};