@vs-form/vs-form
Version:
A schema-based form generator component for React using material-ui
72 lines (69 loc) • 2.29 kB
JavaScript
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 './chunk-6c10537c.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 './chunk-68362596.js';
import '@material-ui/core/Tooltip';
import { f as VsBaseInput } from './chunk-cbe9c61d.js';
import '@material-ui/core/styles';
import 'classnames';
import '@material-ui/core/Icon';
import '@material-ui/core/SvgIcon';
import './chunk-9f5de191.js';
import './chunk-3774fd4c.js';
import 'date-fns';
import 'events';
import '@material-ui/core/Typography';
import './chunk-4358fb9c.js';
import '@material-ui/core/Grid';
import '@material-ui/core/IconButton';
import './chunk-dab541a3.js';
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;