rc-adminlte
Version:
AdminLTE template ported to React
80 lines (74 loc) • 1.8 kB
JSX
import React, { Component } from 'react';
import PropTypes from 'prop-types';
import ReactDateTime from 'react-datetime';
import 'react-datetime/css/react-datetime.css';
import './DateTime.css';
import { DateValueShape } from './InputShapes';
import InputWrapper from './InputWrapper';
class DateTime extends Component {
state = {}
render() {
const {
value,
defaultValue,
onChange,
id,
name,
placeholder,
disabled,
format,
timeFormat,
dateTimeProps,
onBlur,
...props
} = this.props;
return (
<InputWrapper {...{ name, ...props }}>
<ReactDateTime
{...{
value,
defaultValue,
dateFormat: format,
timeFormat,
disabled,
inputProps: {
disabled,
placeholder,
...dateTimeProps ? dateTimeProps.inputProps : null,
},
onChange,
onBlur,
...dateTimeProps,
}}
/>
</InputWrapper>
);
}
}
DateTime.propTypes = {
value: DateValueShape,
defaultValue: DateValueShape,
onChange: PropTypes.func,
onBlur: PropTypes.func,
id: PropTypes.string,
name: PropTypes.string,
placeholder: PropTypes.string,
disabled: PropTypes.bool,
format: PropTypes.string,
timeFormat: PropTypes.string,
dateTimeProps: PropTypes.shape({}),
};
DateTime.defaultProps = {
value: undefined,
defaultValue: undefined,
onChange: undefined,
onBlur: undefined,
id: undefined,
name: undefined,
placeholder: undefined,
disabled: false,
format: true,
timeFormat: 'hh:mm',
dateTimeProps: undefined,
};
export default DateTime;