sharyn
Version:
Combines all the other packages under one.
48 lines (38 loc) • 1.52 kB
JavaScript
;
var _interopRequireDefault = require("@babel/runtime-corejs2/helpers/interopRequireDefault");
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = void 0;
var _objectSpread2 = _interopRequireDefault(require("@babel/runtime-corejs2/helpers/objectSpread"));
var _compose = _interopRequireDefault(require("recompose/compose"));
var _withState = _interopRequireDefault(require("recompose/withState"));
var _withHandlers = _interopRequireDefault(require("recompose/withHandlers"));
var withFields = function withFields(initialStateFn) {
return function (Cmp) {
return (0, _compose.default)((0, _withState.default)('fields', 'setFields', initialStateFn || {}), (0, _withHandlers.default)({
handleFieldChange: function handleFieldChange(_ref) {
var fields = _ref.fields,
setFields = _ref.setFields;
return function (_ref2) {
var target = _ref2.target;
var newFields = (0, _objectSpread2.default)({}, fields);
if (target.type === 'checkbox') {
if (target.checked) {
newFields[target.name] = target.value;
} else {
delete newFields[target.name];
}
} else if (target.value !== '') {
newFields[target.name] = target.value;
} else {
delete newFields[target.name];
}
setFields(newFields);
};
}
}))(Cmp);
};
};
var _default = withFields;
exports.default = _default;