redux-form
Version:
A higher order component decorator for forms using Redux and React
63 lines (47 loc) • 1.51 kB
JavaScript
;
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
exports.__esModule = true;
exports["default"] = void 0;
var _isEvent = _interopRequireDefault(require("./isEvent"));
var getSelectedValues = function getSelectedValues(options) {
var result = [];
if (options) {
for (var index = 0; index < options.length; index++) {
var option = options[index];
if (option.selected) {
result.push(option.value);
}
}
}
return result;
};
var getValue = function getValue(event, isReactNative) {
if ((0, _isEvent["default"])(event)) {
if (!isReactNative && event.nativeEvent && event.nativeEvent.text !== undefined) {
return event.nativeEvent.text;
}
if (isReactNative && event.nativeEvent !== undefined) {
return event.nativeEvent.text;
}
var detypedEvent = event;
var _detypedEvent$target = detypedEvent.target,
type = _detypedEvent$target.type,
value = _detypedEvent$target.value,
checked = _detypedEvent$target.checked,
files = _detypedEvent$target.files,
dataTransfer = detypedEvent.dataTransfer;
if (type === 'checkbox') {
return !!checked;
}
if (type === 'file') {
return files || dataTransfer && dataTransfer.files;
}
if (type === 'select-multiple') {
return getSelectedValues(event.target.options);
}
return value;
}
return event;
};
var _default = getValue;
exports["default"] = _default;