@bootstrap-styled/ra-ui
Version:
UI components for react-admin
80 lines (65 loc) • 3.02 kB
JavaScript
"use strict";
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = exports.DateField = void 0;
var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
var _react = _interopRequireDefault(require("react"));
var _propTypes = _interopRequireDefault(require("prop-types"));
var _styledComponents = _interopRequireDefault(require("styled-components"));
var _get = _interopRequireDefault(require("lodash/get"));
var _pure = _interopRequireDefault(require("recompose/pure"));
var _sanitizeRestProps = _interopRequireDefault(require("./sanitizeRestProps"));
var TypographyDateField = _styledComponents.default.div.withConfig({
displayName: "DateField__TypographyDateField",
componentId: "sc-19hnc4i-0"
})(["color:rgba(0,0,0,0.87);font-size:0.875rem;font-weight:400;line-height:1.46429em;"]);
var toLocaleStringSupportsLocales = function () {
try {
new Date().toLocaleString('i');
} catch (error) {
return error instanceof RangeError;
}
return false;
}();
var DateField = function DateField(_ref) {
var className = _ref.className,
locales = _ref.locales,
options = _ref.options,
record = _ref.record,
_ref$showTime = _ref.showTime,
showTime = _ref$showTime === void 0 ? false : _ref$showTime,
source = _ref.source,
rest = (0, _objectWithoutProperties2.default)(_ref, ["className", "locales", "options", "record", "showTime", "source"]);
if (!record) return null;
var value = (0, _get.default)(record, source);
if (value == null) return null;
var date = value instanceof Date ? value : new Date(value);
var dateString = showTime ? toLocaleStringSupportsLocales ? date.toLocaleString(locales, options) : date.toLocaleString() : toLocaleStringSupportsLocales ? date.toLocaleDateString(locales, options) : date.toLocaleDateString();
return _react.default.createElement(TypographyDateField, (0, _extends2.default)({
className: className
}, (0, _sanitizeRestProps.default)(rest)), dateString);
};
exports.DateField = DateField;
DateField.propTypes = {
addLabel: _propTypes.default.bool,
basePath: _propTypes.default.string,
className: _propTypes.default.string,
cellClassName: _propTypes.default.string,
headerClassName: _propTypes.default.string,
label: _propTypes.default.string,
locales: _propTypes.default.oneOfType([_propTypes.default.string, _propTypes.default.arrayOf(_propTypes.default.string)]),
options: _propTypes.default.object,
record: _propTypes.default.object,
showTime: _propTypes.default.bool,
sortBy: _propTypes.default.string,
source: _propTypes.default.string.isRequired
};
var PureDateField = (0, _pure.default)(DateField);
PureDateField.defaultProps = {
addLabel: true
};
var _default = PureDateField;
exports.default = _default;