77 lines
3.1 KiB
JavaScript
77 lines
3.1 KiB
JavaScript
"use strict";
|
|
|
|
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)
|
|
}); |