@mui/x-data-grid-premium
Version:
The Premium plan edition of the MUI X Data Grid Components.
42 lines (41 loc) • 1.9 kB
JavaScript
;
var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard").default;
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.useGridParamsOverridableMethods = void 0;
var React = _interopRequireWildcard(require("react"));
var _xDataGridPro = require("@mui/x-data-grid-pro");
var _internals = require("@mui/x-data-grid-pro/internals");
var _gridAggregationSelectors = require("../aggregation/gridAggregationSelectors");
const useGridParamsOverridableMethods = apiRef => {
const communityMethods = (0, _internals.useGridParamsOverridableMethods)(apiRef);
const getCellValue = React.useCallback((id, field) => (0, _gridAggregationSelectors.gridCellAggregationResultSelector)(apiRef, {
id,
field
})?.value ?? communityMethods.getCellValue(id, field), [apiRef, communityMethods]);
const getRowValue = React.useCallback((row, colDef) => (0, _gridAggregationSelectors.gridCellAggregationResultSelector)(apiRef, {
id: (0, _xDataGridPro.gridRowIdSelector)(apiRef, row),
field: colDef.field
})?.value ?? communityMethods.getRowValue(row, colDef), [apiRef, communityMethods]);
const getRowFormattedValue = React.useCallback((row, colDef) => {
const aggregationFormattedValue = (0, _gridAggregationSelectors.gridCellAggregationResultSelector)(apiRef, {
id: (0, _xDataGridPro.gridRowIdSelector)(apiRef, row),
field: colDef.field
})?.formattedValue;
if (aggregationFormattedValue !== undefined) {
return aggregationFormattedValue;
}
const value = getRowValue(row, colDef);
if (!colDef || !colDef.valueFormatter) {
return value;
}
return colDef.valueFormatter(value, row, colDef, apiRef);
}, [apiRef, getRowValue]);
return {
getCellValue,
getRowValue,
getRowFormattedValue
};
};
exports.useGridParamsOverridableMethods = useGridParamsOverridableMethods;