45 lines
1.4 KiB
JavaScript
45 lines
1.4 KiB
JavaScript
import _extends from "@babel/runtime/helpers/esm/extends";
|
|
import { GRID_STRING_COL_DEF } from './gridStringColDef';
|
|
import { renderBooleanCell } from '../components/cell/GridBooleanCell';
|
|
import { renderEditBooleanCell } from '../components/cell/GridEditBooleanCell';
|
|
import { gridNumberComparator } from '../hooks/features/sorting/gridSortingUtils';
|
|
import { getGridBooleanOperators } from './gridBooleanOperators';
|
|
function gridBooleanFormatter(_ref) {
|
|
var value = _ref.value,
|
|
api = _ref.api;
|
|
return value ? api.getLocaleText('booleanCellTrueLabel') : api.getLocaleText('booleanCellFalseLabel');
|
|
}
|
|
var stringToBoolean = function stringToBoolean(value) {
|
|
switch (value.toLowerCase().trim()) {
|
|
case 'true':
|
|
case 'yes':
|
|
case '1':
|
|
return true;
|
|
case 'false':
|
|
case 'no':
|
|
case '0':
|
|
case 'null':
|
|
case 'undefined':
|
|
return false;
|
|
default:
|
|
return undefined;
|
|
}
|
|
};
|
|
export var GRID_BOOLEAN_COL_DEF = _extends({}, GRID_STRING_COL_DEF, {
|
|
type: 'boolean',
|
|
align: 'center',
|
|
headerAlign: 'center',
|
|
renderCell: renderBooleanCell,
|
|
renderEditCell: renderEditBooleanCell,
|
|
sortComparator: gridNumberComparator,
|
|
valueFormatter: gridBooleanFormatter,
|
|
filterOperators: getGridBooleanOperators(),
|
|
getApplyQuickFilterFn: undefined,
|
|
getApplyQuickFilterFnV7: undefined,
|
|
// @ts-ignore
|
|
aggregable: false,
|
|
// @ts-ignore
|
|
pastedValueParser: function pastedValueParser(value) {
|
|
return stringToBoolean(value);
|
|
}
|
|
}); |