UNPKG

vs-form-mui-4x

Version:

A schema-based form generator component for React using material-ui 4.x

66 lines (63 loc) 2.12 kB
import { Component, createElement } from 'react'; import 'lodash/capitalize'; import 'lodash/cloneDeep'; import 'lodash/get'; import 'lodash/has'; import 'lodash/isArray'; import 'lodash/isDate'; import 'lodash/isBoolean'; import 'lodash/isEmpty'; import 'lodash/isFunction'; import isInteger from 'lodash/isInteger'; import isNull from 'lodash/isNull'; import 'lodash/isNumber'; import 'lodash/isObject'; import 'lodash/isPlainObject'; import 'lodash/isRegExp'; import 'lodash/isString'; import 'lodash/isUndefined'; import 'lodash/merge'; import 'lodash/set'; import toInteger from 'lodash/toInteger'; import 'lodash/toNumber'; import 'lodash/trimEnd'; import 'lodash/uniq'; import 'lodash/debounce'; import 'lodash/throttle'; import { f as VsBaseInput } from './index-5c5f12ca.js'; import '@material-ui/core/FormControl'; import '@material-ui/core/FormHelperText'; import '@material-ui/core/FormLabel'; import '@material-ui/core/TextField'; import '@material-ui/core/InputAdornment'; import '@material-ui/core/Tooltip'; import '@material-ui/core/styles'; import 'classnames'; import '@material-ui/core/Icon'; import '@material-ui/core/SvgIcon'; import 'date-fns'; import 'events'; import '@material-ui/core/Typography'; import '@material-ui/core/Grid'; import '@material-ui/core/IconButton'; class VsInteger extends Component { constructor(props) { super(props); this.changeValue = (dataProps) => (evt) => { const re = /^[-+]?\d*$/; const value = evt.target.value; if (value === '' || re.test(value)) { const schemaValue = value === '' ? null : toInteger(value); dataProps.updateValue(value, schemaValue); } }; } render() { return createElement(VsBaseInput, Object.assign({ value: this.getValue, onChange: this.changeValue }, this.props)); } getValue(dataProps) { const numValue = isNull(dataProps.state.value) ? '' : toInteger(dataProps.state.value); return isInteger(numValue) ? dataProps.state.value : ''; } } export default VsInteger;