66 lines
2.0 KiB
JavaScript
66 lines
2.0 KiB
JavaScript
import _extends from "@babel/runtime/helpers/esm/extends";
|
|
import { gridDateComparator } from '../hooks/features/sorting/gridSortingUtils';
|
|
import { getGridDateOperators } from './gridDateOperators';
|
|
import { GRID_STRING_COL_DEF } from './gridStringColDef';
|
|
import { renderEditDateCell } from '../components/cell/GridEditDateCell';
|
|
function throwIfNotDateObject(_ref) {
|
|
var value = _ref.value,
|
|
columnType = _ref.columnType,
|
|
rowId = _ref.rowId,
|
|
field = _ref.field;
|
|
if (!(value instanceof Date)) {
|
|
throw new Error(["MUI: `".concat(columnType, "` column type only accepts `Date` objects as values."), 'Use `valueGetter` to transform the value into a `Date` object.', "Row ID: ".concat(rowId, ", field: \"").concat(field, "\".")].join('\n'));
|
|
}
|
|
}
|
|
export function gridDateFormatter(_ref2) {
|
|
var value = _ref2.value,
|
|
field = _ref2.field,
|
|
id = _ref2.id;
|
|
if (!value) {
|
|
return '';
|
|
}
|
|
throwIfNotDateObject({
|
|
value: value,
|
|
columnType: 'date',
|
|
rowId: id,
|
|
field: field
|
|
});
|
|
return value.toLocaleDateString();
|
|
}
|
|
export function gridDateTimeFormatter(_ref3) {
|
|
var value = _ref3.value,
|
|
field = _ref3.field,
|
|
id = _ref3.id;
|
|
if (!value) {
|
|
return '';
|
|
}
|
|
throwIfNotDateObject({
|
|
value: value,
|
|
columnType: 'dateTime',
|
|
rowId: id,
|
|
field: field
|
|
});
|
|
return value.toLocaleString();
|
|
}
|
|
export var GRID_DATE_COL_DEF = _extends({}, GRID_STRING_COL_DEF, {
|
|
type: 'date',
|
|
sortComparator: gridDateComparator,
|
|
valueFormatter: gridDateFormatter,
|
|
filterOperators: getGridDateOperators(),
|
|
renderEditCell: renderEditDateCell,
|
|
// @ts-ignore
|
|
pastedValueParser: function pastedValueParser(value) {
|
|
return new Date(value);
|
|
}
|
|
});
|
|
export var GRID_DATETIME_COL_DEF = _extends({}, GRID_STRING_COL_DEF, {
|
|
type: 'dateTime',
|
|
sortComparator: gridDateComparator,
|
|
valueFormatter: gridDateTimeFormatter,
|
|
filterOperators: getGridDateOperators(true),
|
|
renderEditCell: renderEditDateCell,
|
|
// @ts-ignore
|
|
pastedValueParser: function pastedValueParser(value) {
|
|
return new Date(value);
|
|
}
|
|
}); |