@mui/x-data-grid
Version:
The Community plan edition of the MUI X Data Grid components.
77 lines (76 loc) • 3.17 kB
JavaScript
;
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.gridDateTimeFormatter = exports.gridDateFormatter = exports.GRID_DATE_COL_DEF = exports.GRID_DATETIME_COL_DEF = void 0;
var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
var _formatErrorMessage2 = _interopRequireDefault(require("@mui/x-internals/formatErrorMessage"));
var _gridSortingUtils = require("../hooks/features/sorting/gridSortingUtils");
var _gridDateOperators = require("./gridDateOperators");
var _gridStringColDef = require("./gridStringColDef");
var _GridEditDateCell = require("../components/cell/GridEditDateCell");
var _gridPropsSelectors = require("../hooks/core/gridPropsSelectors");
var _gridRowsUtils = require("../hooks/features/rows/gridRowsUtils");
function throwIfNotDateObject({
value,
columnType,
rowId,
field
}) {
if (!(value instanceof Date)) {
throw new Error(process.env.NODE_ENV !== "production" ? `MUI X Data Grid: The "${columnType}" column type only accepts Date objects as values. ` + `Received value of type "${typeof value}" for row ID "${rowId}", field "${field}". ` + 'Use valueGetter to transform the value into a Date object.' : (0, _formatErrorMessage2.default)(54, columnType, typeof value, rowId, field));
}
}
const gridDateFormatter = (value, row, column, apiRef) => {
if (!value) {
return '';
}
const rowId = (0, _gridPropsSelectors.gridRowIdSelector)(apiRef, row);
if ((0, _gridRowsUtils.isAutogeneratedRow)(row) && !(value instanceof Date)) {
return value;
}
throwIfNotDateObject({
value,
columnType: 'date',
rowId,
field: column.field
});
return value.toLocaleDateString();
};
exports.gridDateFormatter = gridDateFormatter;
const gridDateTimeFormatter = (value, row, column, apiRef) => {
if (!value) {
return '';
}
const rowId = (0, _gridPropsSelectors.gridRowIdSelector)(apiRef, row);
if ((0, _gridRowsUtils.isAutogeneratedRow)(row) && !(value instanceof Date)) {
return value;
}
throwIfNotDateObject({
value,
columnType: 'dateTime',
rowId,
field: column.field
});
return value.toLocaleString();
};
exports.gridDateTimeFormatter = gridDateTimeFormatter;
const GRID_DATE_COL_DEF = exports.GRID_DATE_COL_DEF = (0, _extends2.default)({}, _gridStringColDef.GRID_STRING_COL_DEF, {
type: 'date',
sortComparator: _gridSortingUtils.gridDateComparator,
valueFormatter: gridDateFormatter,
filterOperators: (0, _gridDateOperators.getGridDateOperators)(),
renderEditCell: _GridEditDateCell.renderEditDateCell,
// @ts-ignore
pastedValueParser: value => new Date(value)
});
const GRID_DATETIME_COL_DEF = exports.GRID_DATETIME_COL_DEF = (0, _extends2.default)({}, _gridStringColDef.GRID_STRING_COL_DEF, {
type: 'dateTime',
sortComparator: _gridSortingUtils.gridDateComparator,
valueFormatter: gridDateTimeFormatter,
filterOperators: (0, _gridDateOperators.getGridDateOperators)(true),
renderEditCell: _GridEditDateCell.renderEditDateCell,
// @ts-ignore
pastedValueParser: value => new Date(value)
});