shradmin
Version:
A frontend Framework for building admin application, using antd and mirrorjs.
60 lines (43 loc) • 1.56 kB
JavaScript
;
exports.__esModule = true;
var _react = require('react');
var _react2 = _interopRequireDefault(_react);
var _get = require('lodash/get');
var _get2 = _interopRequireDefault(_get);
var _isNull = require('lodash/isNull');
var _isNull2 = _interopRequireDefault(_isNull);
var _propTypes = require('prop-types');
var _propTypes2 = _interopRequireDefault(_propTypes);
var _moment = require('moment');
var _moment2 = _interopRequireDefault(_moment);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
var DateField = function DateField(props) {
var source = props.source,
_props$record = props.record,
record = _props$record === undefined ? {} : _props$record,
elStyle = props.elStyle,
dateFormat = props.dateFormat;
var value = (0, _get2.default)(record, source);
if ((0, _isNull2.default)(value)) {
return null;
} else if (!(0, _moment2.default)(value).isValid()) {
throw new Error('moment(' + value + ') is not valid.');
} else {
return _react2.default.createElement(
'span',
{ style: elStyle },
(0, _moment2.default)(value).format(dateFormat)
);
}
};
DateField.propTypes = process.env.NODE_ENV !== "production" ? {
elStyle: _propTypes2.default.object,
record: _propTypes2.default.object,
source: _propTypes2.default.string.isRequired,
dateFormat: _propTypes2.default.string
} : {};
DateField.defaultProps = {
dateFormat: "YYYY-MM-DD HH:mm:ss"
};
exports.default = DateField;
module.exports = exports['default'];