UNPKG

@vs-form/vs-form

Version:

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

98 lines (93 loc) 3.32 kB
'use strict'; function _interopDefault (ex) { return (ex && (typeof ex === 'object') && 'default' in ex) ? ex['default'] : ex; } var React = require('react'); var React__default = _interopDefault(React); require('lodash/capitalize'); require('lodash/cloneDeep'); require('lodash/get'); var has = _interopDefault(require('lodash/has')); require('lodash/isArray'); var isDate = _interopDefault(require('lodash/isDate')); require('lodash/isBoolean'); require('lodash/isEmpty'); require('lodash/isFunction'); require('lodash/isInteger'); require('lodash/isNull'); require('lodash/isNumber'); require('lodash/isObject'); require('lodash/isPlainObject'); require('lodash/isRegExp'); require('lodash/isString'); require('lodash/isUndefined'); require('lodash/merge'); var set = _interopDefault(require('lodash/set')); require('lodash/toInteger'); require('lodash/toNumber'); require('lodash/trimEnd'); require('lodash/uniq'); require('lodash/debounce'); require('lodash/throttle'); require('./chunk-e8808437.js'); require('@material-ui/core/FormControl'); require('@material-ui/core/FormHelperText'); require('@material-ui/core/FormLabel'); require('@material-ui/core/TextField'); require('@material-ui/core/InputAdornment'); var __chunk_3 = require('./chunk-7581cbb1.js'); require('@material-ui/core/Tooltip'); var __chunk_4 = require('./chunk-364f6801.js'); require('@material-ui/core/styles'); require('classnames'); require('@material-ui/core/Icon'); require('@material-ui/core/SvgIcon'); require('./chunk-41ea4037.js'); require('./chunk-2f21f066.js'); require('date-fns'); require('events'); require('@material-ui/core/Typography'); require('./chunk-819d0a62.js'); require('@material-ui/core/Grid'); require('@material-ui/core/IconButton'); require('./chunk-f9facc49.js'); class VsDate extends React.Component { constructor(props) { super(props); this.changeValue = (dataProps) => (evt) => { const value = evt.target.value; const dt = value ? __chunk_4.stringToDate(this.comp.type, evt.target.value) : null; dataProps.updateValue(dt); }; this.initProps = () => { if (!this.comp.props) { this.comp.props = {}; } const props = this.comp.props; const type = this.comp.type; if (type === __chunk_3.Component.date) { props.type = 'date'; } else if (type === __chunk_3.Component.datetime) { props.type = 'datetime-local'; } else if (type === __chunk_3.Component.time) { props.type = 'time'; } set(props, 'InputLabelProps.shrink', true); }; this.initProps(); } get comp() { return this.props.comp; } render() { return React.createElement(__chunk_4.VsBaseInput, Object.assign({ value: this.getValue, onChange: this.changeValue }, this.props)); } getValue(dataProps) { if (isDate(dataProps.state.value)) { const withSeconds = has(this.comp, 'props.inputProps.step'); return __chunk_4.dateToString(dataProps.state.value, this.comp.type, withSeconds); } else { return ''; } } } exports.default = VsDate;