@e-group/material-formik
Version:
Custom react components for integrate redux-form.
45 lines (39 loc) • 1.64 kB
JavaScript
import _extends from "@babel/runtime/helpers/esm/extends";
import _objectWithoutProperties from "@babel/runtime/helpers/esm/objectWithoutProperties";
import React from 'react';
import Picker from '@e-group/material-module/Picker';
import useFieldStatus from '../utils/useFieldStatus';
const PickerField = props => {
const _props$field = props.field,
value = _props$field.value,
onChange = _props$field.onChange,
onBlur = _props$field.onBlur,
field = _objectWithoutProperties(_props$field, ["value", "onChange", "onBlur"]),
setFieldValue = props.form.setFieldValue,
pickerFormat = props.pickerFormat,
helperText = props.helperText,
errorProp = props.error,
disabledProp = props.disabled,
onChangeProp = props.onChange,
other = _objectWithoutProperties(props, ["field", "form", "pickerFormat", "helperText", "error", "disabled", "onChange"]);
const _useFieldStatus = useFieldStatus(props.field, props.form, disabledProp),
fieldError = _useFieldStatus.fieldError,
showError = _useFieldStatus.showError,
disabled = _useFieldStatus.disabled,
hasValue = _useFieldStatus.hasValue;
const handleChange = date => {
if (onChangeProp) {
onChangeProp(date);
}
setFieldValue(field.name, date);
};
return /*#__PURE__*/React.createElement(Picker, _extends({
format: pickerFormat,
error: showError,
disabled: disabled,
helperText: showError ? fieldError : helperText,
value: hasValue ? value : null,
onChange: handleChange
}, field, other));
};
export default PickerField;